#ifndef _KEYBOARD_WIN32H_
#define _KEYBOARD_WIN32H_

#include "../sleipner_config.h"
#ifdef _PLATFORM_WIN32
#include <vector>
#include "keyboard.h"

/// provide a keymap for each platform
enum		KEY_MAP
{
	KEY_0				='0',			
	KEY_1,
	KEY_2,
	KEY_3,
	KEY_4,
	KEY_5,
	KEY_6,
	KEY_7,
	KEY_8,
	KEY_9,
	KEY_A				= 'A',
	KEY_B,
	KEY_C,
	KEY_D,
	KEY_E,
	KEY_F,
	KEY_G,
	KEY_H,
	KEY_I,
	KEY_J,
	KEY_K,
	KEY_L,
	KEY_M,
	KEY_N,
	KEY_O,
	KEY_P,
	KEY_Q,
	KEY_R,
	KEY_S,
	KEY_T,
	KEY_U,
	KEY_V,
	KEY_W,
	KEY_X,
	KEY_Y,
	KEY_Z,
	KEY_EQUALS          = '=',
	KEY_LBRACKET        = '(',
	KEY_RBRACKET        = ')',
	KEY_SEMICOLON       = ';',
	KEY_APOSTROPHE      = '\'',
	KEY_BACKSLASH       = '\\',
	KEY_SLASH           = '/',
	KEY_ESCAPE          = VK_ESCAPE,
	KEY_PLUS			= VK_ADD,
	KEY_MINUS           = VK_SUBTRACT,
	KEY_BACKSPACE		= VK_BACK,
	KEY_TAB             = VK_TAB,
	KEY_RETURN          = VK_RETURN,
	KEY_LCONTROL        = VK_CONTROL, //VK_LCONTROL,
	KEY_RCONTROL        = VK_CONTROL, //VK_RCONTROL,
	KEY_GRAVE           = '`',
	KEY_COMMA           = VK_OEM_COMMA,
	KEY_PERIOD          = VK_OEM_PERIOD,
	KEY_LSHIFT          = VK_SHIFT,//VK_LSHIFT,
	KEY_RSHIFT          = VK_SHIFT,//VK_RSHIFT,
	KEY_MULTIPLY        = VK_MULTIPLY,
	KEY_LMENU           = VK_MENU,
	KEY_RMENU           = VK_MENU,
	KEY_SPACE           = VK_SPACE,
	KEY_CAPITAL         = VK_CAPITAL,
	KEY_F1              = VK_F1, 
	KEY_F2              = VK_F2, 
	KEY_F3              = VK_F3, 
	KEY_F4              = VK_F4, 
	KEY_F5              = VK_F5, 
	KEY_F6              = VK_F6, 
	KEY_F7              = VK_F7, 
	KEY_F8              = VK_F8, 
	KEY_F9              = VK_F9, 
	KEY_F10             = VK_F10,
	KEY_F11             = VK_F11,
	KEY_F12             = VK_F12,
	KEY_F13             = VK_F13, 
	KEY_F14             = VK_F14,  
	KEY_F15             = VK_F15,  
	KEY_NUMLOCK         = VK_NUMLOCK,
	KEY_SCROLL          = VK_SCROLL,
	KEY_SUBTRACT        = VK_SUBTRACT,
	KEY_NUMPAD1         = VK_NUMPAD0,
	KEY_NUMPAD2         = VK_NUMPAD1,
	KEY_NUMPAD3         = VK_NUMPAD2,
	KEY_NUMPAD4         = VK_NUMPAD3,
	KEY_NUMPAD5         = VK_NUMPAD4,
	KEY_NUMPAD6         = VK_NUMPAD5,
	KEY_NUMPAD7         = VK_NUMPAD6,
	KEY_NUMPAD8         = VK_NUMPAD7,
	KEY_NUMPAD9         = VK_NUMPAD8,
	KEY_NUMPAD0         = VK_NUMPAD9,
	KEY_ADD             = VK_ADD,
	KEY_DECIMAL         = VK_DECIMAL,
	KEY_NUMPADENTER     = VK_RETURN,
	KEY_NUMPADCOMMA     = VK_OEM_COMMA,
	KEY_DIVIDE          = VK_DIVIDE,
	KEY_PAUSE           = VK_PAUSE,
	KEY_HOME            = VK_HOME,
	KEY_UP              = VK_UP,
	KEY_PRIOR           = VK_PRIOR,
	KEY_LEFT            = VK_LEFT, 
	KEY_RIGHT           = VK_RIGHT,
	KEY_END             = VK_END,  
	KEY_DOWN            = VK_DOWN, 
	KEY_NEXT            = VK_NEXT,
	KEY_INSERT          = VK_INSERT, 
	KEY_DELETE          = VK_DELETE, 
	KEY_LWIN            = VK_LWIN,   
	KEY_RWIN            = VK_RWIN,
	KEY_PRINTSCR         = IDHOT_SNAPDESKTOP
};					

#endif //_PLATFORM_WIN32
#endif // _KEYBOARD_WIN32H_